Created
December 5, 2023 19:36
-
-
Save sebastianbachmann/59294babe004581294fd733954bc04b4 to your computer and use it in GitHub Desktop.
Running 'supabase migration up --local --debug' results in the following error message
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
~/Code/usebasejump-projects/feerd-usebasejump/ supabase migration up --local --debug | |
Supabase CLI 1.112.0 | |
Connecting to local database... | |
2023/12/05 20:19:26 Connect Start: tcp 127.0.0.1:54322 | |
2023/12/05 20:19:26 Connect Done: tcp 127.0.0.1:54322 | |
2023/12/05 20:19:26 PG Send: {"Type":"StartupMessage","ProtocolVersion":196608,"Parameters":{"database":"postgres","user":"postgres"}} | |
2023/12/05 20:19:26 PG Recv: {"Type":"AuthenticationSASL","AuthMechanisms":["SCRAM-SHA-256"]} | |
2023/12/05 20:19:26 PG Send: {"Type":"SASLInitialResponse","AuthMechanism":"SCRAM-SHA-256","Data":"n,,n=,r=ank0/HDFqBzQDUZLqA/4SD0k"} | |
2023/12/05 20:19:26 PG Recv: {"Type":"AuthenticationSASLContinue","Data":"r=ank0/HDFqBzQDUZLqA/4SD0kLgjiQGky+7uFy2YVEq+emEJm,s=agVnhsUCrqFukUvrW0BUUQ==,i=4096"} | |
2023/12/05 20:19:26 PG Send: {"Type":"SASLResponse","Data":"c=biws,r=ank0/HDFqBzQDUZLqA/4SD0kLgjiQGky+7uFy2YVEq+emEJm,p=FTA/mRg0mbNYEG+rkSsi6nhna7eI5ISfWFEz6cSiGuw="} | |
2023/12/05 20:19:26 PG Recv: {"Type":"AuthenticationSASLFinal","Data":"v=9riOSiViP4QTegYmVJDkh0Q15/Tx4q0uljXdL4V/EVE="} | |
2023/12/05 20:19:26 PG Recv: {"Type":"AuthenticationOK"} | |
2023/12/05 20:19:26 PG Recv: {"Type":"ParameterStatus","Name":"application_name","Value":""} | |
2023/12/05 20:19:26 PG Recv: {"Type":"ParameterStatus","Name":"client_encoding","Value":"UTF8"} | |
2023/12/05 20:19:26 PG Recv: {"Type":"ParameterStatus","Name":"DateStyle","Value":"ISO, MDY"} | |
2023/12/05 20:19:26 PG Recv: {"Type":"ParameterStatus","Name":"default_transaction_read_only","Value":"off"} | |
2023/12/05 20:19:26 PG Recv: {"Type":"ParameterStatus","Name":"in_hot_standby","Value":"off"} | |
2023/12/05 20:19:26 PG Recv: {"Type":"ParameterStatus","Name":"integer_datetimes","Value":"on"} | |
2023/12/05 20:19:26 PG Recv: {"Type":"ParameterStatus","Name":"IntervalStyle","Value":"postgres"} | |
2023/12/05 20:19:26 PG Recv: {"Type":"ParameterStatus","Name":"is_superuser","Value":"off"} | |
2023/12/05 20:19:26 PG Recv: {"Type":"ParameterStatus","Name":"server_encoding","Value":"UTF8"} | |
2023/12/05 20:19:26 PG Recv: {"Type":"ParameterStatus","Name":"server_version","Value":"15.1 (Ubuntu 15.1-1.pgdg20.04+1)"} | |
2023/12/05 20:19:26 PG Recv: {"Type":"ParameterStatus","Name":"session_authorization","Value":"postgres"} | |
2023/12/05 20:19:26 PG Recv: {"Type":"ParameterStatus","Name":"standard_conforming_strings","Value":"on"} | |
2023/12/05 20:19:26 PG Recv: {"Type":"ParameterStatus","Name":"TimeZone","Value":"UTC"} | |
2023/12/05 20:19:26 PG Recv: {"Type":"BackendKeyData","ProcessID":3309,"SecretKey":1586947206} | |
2023/12/05 20:19:26 PG Recv: {"Type":"ReadyForQuery","TxStatus":"I"} | |
2023/12/05 20:19:26 PG Send: {"Type":"Parse","Name":"lrupsc_1_0","Query":"SELECT version FROM supabase_migrations.schema_migrations ORDER BY version","ParameterOIDs":null} | |
2023/12/05 20:19:26 PG Send: {"Type":"Describe","ObjectType":"S","Name":"lrupsc_1_0"} | |
2023/12/05 20:19:26 PG Send: {"Type":"Sync"} | |
2023/12/05 20:19:26 PG Recv: {"Type":"ParseComplete"} | |
2023/12/05 20:19:26 PG Recv: {"Type":"ParameterDescription","ParameterOIDs":[]} | |
2023/12/05 20:19:26 PG Recv: {"Type":"RowDescription","Fields":[{"Name":"version","TableOID":17318,"TableAttributeNumber":1,"DataTypeOID":25,"DataTypeSize":-1,"TypeModifier":-1,"Format":0}]} | |
2023/12/05 20:19:26 PG Recv: {"Type":"ReadyForQuery","TxStatus":"I"} | |
2023/12/05 20:19:26 PG Send: {"Type":"Bind","DestinationPortal":"","PreparedStatement":"lrupsc_1_0","ParameterFormatCodes":null,"Parameters":[],"ResultFormatCodes":[0]} | |
2023/12/05 20:19:26 PG Send: {"Type":"Describe","ObjectType":"P","Name":""} | |
2023/12/05 20:19:26 PG Send: {"Type":"Execute","Portal":"","MaxRows":0} | |
2023/12/05 20:19:26 PG Send: {"Type":"Sync"} | |
2023/12/05 20:19:26 PG Recv: {"Type":"BindComplete"} | |
2023/12/05 20:19:26 PG Recv: {"Type":"RowDescription","Fields":[{"Name":"version","TableOID":17318,"TableAttributeNumber":1,"DataTypeOID":25,"DataTypeSize":-1,"TypeModifier":-1,"Format":0}]} | |
2023/12/05 20:19:26 PG Recv: {"Type":"DataRow","Values":[{"text":"20231205101945"}]} | |
2023/12/05 20:19:26 PG Recv: {"Type":"CommandComplete","CommandTag":"SELECT 1"} | |
2023/12/05 20:19:26 PG Recv: {"Type":"ReadyForQuery","TxStatus":"I"} | |
2023/12/05 20:19:26 PG Send: {"Type":"Parse","Name":"","Query":"CREATE SCHEMA IF NOT EXISTS supabase_migrations","ParameterOIDs":null} | |
2023/12/05 20:19:26 PG Send: {"Type":"Bind","DestinationPortal":"","PreparedStatement":"","ParameterFormatCodes":null,"Parameters":[],"ResultFormatCodes":[]} | |
2023/12/05 20:19:26 PG Send: {"Type":"Describe","ObjectType":"P","Name":""} | |
2023/12/05 20:19:26 PG Send: {"Type":"Execute","Portal":"","MaxRows":0} | |
2023/12/05 20:19:26 PG Send: {"Type":"Parse","Name":"","Query":"CREATE TABLE IF NOT EXISTS supabase_migrations.schema_migrations (version text NOT NULL PRIMARY KEY)","ParameterOIDs":null} | |
2023/12/05 20:19:26 PG Send: {"Type":"Bind","DestinationPortal":"","PreparedStatement":"","ParameterFormatCodes":null,"Parameters":[],"ResultFormatCodes":[]} | |
2023/12/05 20:19:26 PG Send: {"Type":"Describe","ObjectType":"P","Name":""} | |
2023/12/05 20:19:26 PG Send: {"Type":"Execute","Portal":"","MaxRows":0} | |
2023/12/05 20:19:26 PG Send: {"Type":"Parse","Name":"","Query":"ALTER TABLE supabase_migrations.schema_migrations ADD COLUMN IF NOT EXISTS statements text[]","ParameterOIDs":null} | |
2023/12/05 20:19:26 PG Send: {"Type":"Bind","DestinationPortal":"","PreparedStatement":"","ParameterFormatCodes":null,"Parameters":[],"ResultFormatCodes":[]} | |
2023/12/05 20:19:26 PG Send: {"Type":"Describe","ObjectType":"P","Name":""} | |
2023/12/05 20:19:26 PG Send: {"Type":"Execute","Portal":"","MaxRows":0} | |
2023/12/05 20:19:26 PG Send: {"Type":"Parse","Name":"","Query":"ALTER TABLE supabase_migrations.schema_migrations ADD COLUMN IF NOT EXISTS name text","ParameterOIDs":null} | |
2023/12/05 20:19:26 PG Send: {"Type":"Bind","DestinationPortal":"","PreparedStatement":"","ParameterFormatCodes":null,"Parameters":[],"ResultFormatCodes":[]} | |
2023/12/05 20:19:26 PG Send: {"Type":"Describe","ObjectType":"P","Name":""} | |
2023/12/05 20:19:26 PG Send: {"Type":"Execute","Portal":"","MaxRows":0} | |
2023/12/05 20:19:26 PG Send: {"Type":"Sync"} | |
2023/12/05 20:19:26 PG Recv: {"Type":"ParseComplete"} | |
2023/12/05 20:19:26 PG Recv: {"Type":"BindComplete"} | |
2023/12/05 20:19:26 PG Recv: {"Type":"NoData"} | |
2023/12/05 20:19:26 PG Recv: {"Severity":"NOTICE","SeverityUnlocalized":"NOTICE","Code":"42P06","Message":"schema \"supabase_migrations\" already exists, skipping","Detail":"","Hint":"","Position":0,"InternalPosition":0,"InternalQuery":"","Where":"","SchemaName":"","TableName":"","ColumnName":"","DataTypeName":"","ConstraintName":"","File":"schemacmds.c","Line":128,"Routine":"CreateSchemaCommand","UnknownFields":null} | |
2023/12/05 20:19:26 PG Recv: {"Type":"CommandComplete","CommandTag":"CREATE SCHEMA"} | |
2023/12/05 20:19:26 PG Recv: {"Type":"ParseComplete"} | |
2023/12/05 20:19:26 PG Recv: {"Type":"BindComplete"} | |
2023/12/05 20:19:26 PG Recv: {"Type":"NoData"} | |
2023/12/05 20:19:26 PG Recv: {"Severity":"NOTICE","SeverityUnlocalized":"NOTICE","Code":"42P07","Message":"relation \"schema_migrations\" already exists, skipping","Detail":"","Hint":"","Position":0,"InternalPosition":0,"InternalQuery":"","Where":"","SchemaName":"","TableName":"","ColumnName":"","DataTypeName":"","ConstraintName":"","File":"parse_utilcmd.c","Line":209,"Routine":"transformCreateStmt","UnknownFields":null} | |
2023/12/05 20:19:26 PG Recv: {"Type":"CommandComplete","CommandTag":"CREATE TABLE"} | |
2023/12/05 20:19:26 PG Recv: {"Type":"ParseComplete"} | |
2023/12/05 20:19:26 PG Recv: {"Type":"BindComplete"} | |
2023/12/05 20:19:26 PG Recv: {"Type":"NoData"} | |
2023/12/05 20:19:26 PG Recv: {"Severity":"NOTICE","SeverityUnlocalized":"NOTICE","Code":"42701","Message":"column \"statements\" of relation \"schema_migrations\" already exists, skipping","Detail":"","Hint":"","Position":0,"InternalPosition":0,"InternalQuery":"","Where":"","SchemaName":"","TableName":"","ColumnName":"","DataTypeName":"","ConstraintName":"","File":"tablecmds.c","Line":7127,"Routine":"check_for_column_name_collision","UnknownFields":null} | |
2023/12/05 20:19:26 PG Recv: {"Type":"CommandComplete","CommandTag":"ALTER TABLE"} | |
2023/12/05 20:19:26 PG Recv: {"Type":"ParseComplete"} | |
2023/12/05 20:19:26 PG Recv: {"Type":"BindComplete"} | |
2023/12/05 20:19:26 PG Recv: {"Type":"NoData"} | |
2023/12/05 20:19:26 PG Recv: {"Severity":"NOTICE","SeverityUnlocalized":"NOTICE","Code":"42701","Message":"column \"name\" of relation \"schema_migrations\" already exists, skipping","Detail":"","Hint":"","Position":0,"InternalPosition":0,"InternalQuery":"","Where":"","SchemaName":"","TableName":"","ColumnName":"","DataTypeName":"","ConstraintName":"","File":"tablecmds.c","Line":7127,"Routine":"check_for_column_name_collision","UnknownFields":null} | |
2023/12/05 20:19:26 PG Recv: {"Type":"CommandComplete","CommandTag":"ALTER TABLE"} | |
2023/12/05 20:19:26 PG Recv: {"Type":"ReadyForQuery","TxStatus":"I"} | |
Applying migration 20231205191201_restaurants.sql... | |
2023/12/05 20:19:26 PG Send: {"Type":"Parse","Name":"","Query":"CREATE TABLE IF NOT EXISTS public.restaurants\n(\n id uuid unique NOT NULL DEFAULT uuid_generate_v4() primary key,\n -- If your model is owned by an account, you want to make sure you have an account_id column\n -- referencing the account table. Make sure you also set permissions appropriately\n account_id uuid not null references accounts(id),\n\n -- begin fields generated automatically from the template inputs\n \n -- end fields generated automatically from the template inputs\n\n -- timestamps are useful for auditing\n -- Basejump has some convenience functions defined below for automatically handling these\n updated_at timestamp with time zone,\n created_at timestamp with time zone,\n -- Useful for tracking who made changes to a record\n -- Basejump has some convenience functions defined below for automatically handling these\n updated_by uuid references auth.users(id),\n created_by uuid references auth.users(id),\n)","ParameterOIDs":null} | |
2023/12/05 20:19:26 PG Send: {"Type":"Bind","DestinationPortal":"","PreparedStatement":"","ParameterFormatCodes":null,"Parameters":[],"ResultFormatCodes":[]} | |
2023/12/05 20:19:26 PG Send: {"Type":"Describe","ObjectType":"P","Name":""} | |
2023/12/05 20:19:26 PG Send: {"Type":"Execute","Portal":"","MaxRows":0} | |
2023/12/05 20:19:26 PG Send: {"Type":"Parse","Name":"","Query":"-- protect the timestamps by setting created_at and updated_at to be read-only and managed by a trigger\nCREATE TRIGGER set_restaurants_timestamp\n BEFORE INSERT OR UPDATE ON public.restaurants\n FOR EACH ROW\nEXECUTE PROCEDURE basejump.trigger_set_timestamps()","ParameterOIDs":null} | |
2023/12/05 20:19:26 PG Send: {"Type":"Bind","DestinationPortal":"","PreparedStatement":"","ParameterFormatCodes":null,"Parameters":[],"ResultFormatCodes":[]} | |
2023/12/05 20:19:26 PG Send: {"Type":"Describe","ObjectType":"P","Name":""} | |
2023/12/05 20:19:26 PG Send: {"Type":"Execute","Portal":"","MaxRows":0} | |
2023/12/05 20:19:26 PG Send: {"Type":"Parse","Name":"","Query":"-- protect the updated_by and created_by columns by setting them to be read-only and managed by a trigger\nCREATE TRIGGER set_restaurants_user_tracking\n BEFORE INSERT OR UPDATE ON public.restaurants\n FOR EACH ROW\nEXECUTE PROCEDURE basejump.trigger_set_user_tracking()","ParameterOIDs":null} | |
2023/12/05 20:19:26 PG Send: {"Type":"Bind","DestinationPortal":"","PreparedStatement":"","ParameterFormatCodes":null,"Parameters":[],"ResultFormatCodes":[]} | |
2023/12/05 20:19:26 PG Send: {"Type":"Describe","ObjectType":"P","Name":""} | |
2023/12/05 20:19:26 PG Send: {"Type":"Execute","Portal":"","MaxRows":0} | |
2023/12/05 20:19:26 PG Send: {"Type":"Parse","Name":"","Query":"-- enable RLS on the table\nALTER TABLE public.restaurants ENABLE ROW LEVEL SECURITY","ParameterOIDs":null} | |
2023/12/05 20:19:26 PG Send: {"Type":"Bind","DestinationPortal":"","PreparedStatement":"","ParameterFormatCodes":null,"Parameters":[],"ResultFormatCodes":[]} | |
2023/12/05 20:19:26 PG Send: {"Type":"Describe","ObjectType":"P","Name":""} | |
2023/12/05 20:19:26 PG Send: {"Type":"Execute","Portal":"","MaxRows":0} | |
2023/12/05 20:19:26 PG Send: {"Type":"Parse","Name":"","Query":"-- Because RLS is enabled, this table will NOT be accessible to any users by default\n-- You must create a policy for each user that should have access to the table\n-- Here are a few example policies that you may find useful when working with Basejump\n\n----------------\n-- Authenticated users should be able to read all records regardless of account\n----------------\n-- create policy \"All logged in users can select\" on public.restaurants\n-- for select\n-- to authenticated\n-- using (true);\n\n----------------\n-- Authenticated AND Anon users should be able to read all records regardless of account\n----------------\n-- create policy \"All authenticated and anonymous users can select\" on public.restaurants\n-- for select\n-- to authenticated, anon\n-- using (true);\n\n-------------\n-- Users should be able to read records that are owned by an account they belong to\n--------------\n-- create policy \"Account members can select\" on public.restaurants\n-- for select\n-- to authenticated\n-- using (\n-- (account_id IN ( SELECT basejump.get_accounts_with_role()))\n-- );\n\n\n----------------\n-- Users should be able to create records that are owned by an account they belong to\n----------------\n-- create policy \"Account members can insert\" on public.restaurants\n-- for insert\n-- to authenticated\n-- with check (\n-- (account_id IN ( SELECT basejump.get_accounts_with_role()))\n-- );\n\n---------------\n-- Users should be able to update records that are owned by an account they belong to\n---------------\n-- create policy \"Account members can update\" on public.restaurants\n-- for update\n-- to authenticated\n-- using (\n-- (account_id IN ( SELECT basejump.get_accounts_with_role()))\n-- );\n\n----------------\n-- Users should be able to delete records that are owned by an account they belong to\n----------------\n-- create policy \"Account members can delete\" on public.restaurants\n-- for delete\n-- to authenticated\n-- using (\n-- (account_id IN ( SELECT basejump.get_accounts_with_role()))\n-- );\n\n----------------\n-- Only account OWNERS should be able to delete records that are owned by an account they belong to\n----------------\n-- create policy \"Account owners can delete\" on public.restaurants\n-- for delete\n-- to authenticated\n-- using (\n-- (account_id IN ( SELECT basejump.get_accounts_with_role(\"owner\")))\n-- );","ParameterOIDs":null} | |
2023/12/05 20:19:26 PG Send: {"Type":"Bind","DestinationPortal":"","PreparedStatement":"","ParameterFormatCodes":null,"Parameters":[],"ResultFormatCodes":[]} | |
2023/12/05 20:19:26 PG Send: {"Type":"Describe","ObjectType":"P","Name":""} | |
2023/12/05 20:19:26 PG Send: {"Type":"Execute","Portal":"","MaxRows":0} | |
2023/12/05 20:19:26 PG Send: {"Type":"Parse","Name":"","Query":"INSERT INTO supabase_migrations.schema_migrations(version, name, statements) VALUES($1, $2, $3)","ParameterOIDs":[25,25,1009]} | |
2023/12/05 20:19:26 PG Send: {"Type":"Bind","DestinationPortal":"","PreparedStatement":"","ParameterFormatCodes":[0,0,0],"Parameters":[{"text":"20231205191201"},{"text":"restaurants"},{"text":"{\"CREATE TABLE IF NOT EXISTS public.restaurants\n(\n id uuid unique NOT NULL DEFAULT uuid_generate_v4() primary key,\n -- If your model is owned by an account, you want to make sure you have an account_id column\n -- referencing the account table. Make sure you also set permissions appropriately\n account_id uuid not null references accounts(id),\n\n -- begin fields generated automatically from the template inputs\n \n -- end fields generated automatically from the template inputs\n\n -- timestamps are useful for auditing\n -- Basejump has some convenience functions defined below for automatically handling these\n updated_at timestamp with time zone,\n created_at timestamp with time zone,\n -- Useful for tracking who made changes to a record\n -- Basejump has some convenience functions defined below for automatically handling these\n updated_by uuid references auth.users(id),\n created_by uuid references auth.users(id),\n)\",-- protect the timestamps by setting created_at and updated_at to be read-only and managed by a trigger\nCREATE TRIGGER set_restaurants_timestamp\n BEFORE INSERT OR UPDATE ON public.restaurants\n FOR EACH ROW\nEXECUTE PROCEDURE basejump.trigger_set_timestamps(),-- protect the updated_by and created_by columns by setting them to be read-only and managed by a trigger\nCREATE TRIGGER set_restaurants_user_tracking\n BEFORE INSERT OR UPDATE ON public.restaurants\n FOR EACH ROW\nEXECUTE PROCEDURE basejump.trigger_set_user_tracking(),-- enable RLS on the table\nALTER TABLE public.restaurants ENABLE ROW LEVEL SECURITY,\"-- Because RLS is enabled, this table will NOT be accessible to any users by default\n-- You must create a policy for each user that should have access to the table\n-- Here are a few example policies that you may find useful when working with Basejump\n\n----------------\n-- Authenticated users should be able to read all records regardless of account\n----------------\n-- create policy \\\"All logged in users can select\\\" on public.restaurants\n-- for select\n-- to authenticated\n-- using (true);\n\n----------------\n-- Authenticated AND Anon users should be able to read all records regardless of account\n----------------\n-- create policy \\\"All authenticated and anonymous users can select\\\" on public.restaurants\n-- for select\n-- to authenticated, anon\n-- using (true);\n\n-------------\n-- Users should be able to read records that are owned by an account they belong to\n--------------\n-- create policy \\\"Account members can select\\\" on public.restaurants\n-- for select\n-- to authenticated\n-- using (\n-- (account_id IN ( SELECT basejump.get_accounts_with_role()))\n-- );\n\n\n----------------\n-- Users should be able to create records that are owned by an account they belong to\n----------------\n-- create policy \\\"Account members can insert\\\" on public.restaurants\n-- for insert\n-- to authenticated\n-- with check (\n-- (account_id IN ( SELECT basejump.get_accounts_with_role()))\n-- );\n\n---------------\n-- Users should be able to update records that are owned by an account they belong to\n---------------\n-- create policy \\\"Account members can update\\\" on public.restaurants\n-- for update\n-- to authenticated\n-- using (\n-- (account_id IN ( SELECT basejump.get_accounts_with_role()))\n-- );\n\n----------------\n-- Users should be able to delete records that are owned by an account they belong to\n----------------\n-- create policy \\\"Account members can delete\\\" on public.restaurants\n-- for delete\n-- to authenticated\n-- using (\n-- (account_id IN ( SELECT basejump.get_accounts_with_role()))\n-- );\n\n----------------\n-- Only account OWNERS should be able to delete records that are owned by an account they belong to\n----------------\n-- create policy \\\"Account owners can delete\\\" on public.restaurants\n-- for delete\n-- to authenticated\n-- using (\n-- (account_id IN ( SELECT basejump.get_accounts_with_role(\\\"owner\\\")))\n-- );\"}"}],"ResultFormatCodes":[]} | |
2023/12/05 20:19:26 PG Send: {"Type":"Describe","ObjectType":"P","Name":""} | |
2023/12/05 20:19:26 PG Send: {"Type":"Execute","Portal":"","MaxRows":0} | |
2023/12/05 20:19:26 PG Send: {"Type":"Sync"} | |
2023/12/05 20:19:26 PG Recv: {"Type":"ErrorResponse","Severity":"ERROR","SeverityUnlocalized":"ERROR","Code":"42601","Message":"syntax error at or near \")\"","Detail":"","Hint":"","Position":960,"InternalPosition":0,"InternalQuery":"","Where":"","SchemaName":"","TableName":"","ColumnName":"","DataTypeName":"","ConstraintName":"","File":"scan.l","Line":1188,"Routine":"scanner_yyerror","UnknownFields":null} | |
2023/12/05 20:19:26 PG Recv: {"Type":"ReadyForQuery","TxStatus":"I"} | |
2023/12/05 20:19:26 PG Send: {"Type":"Terminate"} | |
ERROR: syntax error at or near ")" (SQLSTATE 42601) | |
At statement 0: CREATE TABLE IF NOT EXISTS public.restaurants | |
( | |
id uuid unique NOT NULL DEFAULT uuid_generate_v4() primary key, | |
-- If your model is owned by an account, you want to make sure you have an account_id column | |
-- referencing the account table. Make sure you also set permissions appropriately | |
account_id uuid not null references accounts(id), | |
-- begin fields generated automatically from the template inputs | |
-- end fields generated automatically from the template inputs | |
-- timestamps are useful for auditing | |
-- Basejump has some convenience functions defined below for automatically handling these | |
updated_at timestamp with time zone, | |
created_at timestamp with time zone, | |
-- Useful for tracking who made changes to a record | |
-- Basejump has some convenience functions defined below for automatically handling these | |
updated_by uuid references auth.users(id), | |
created_by uuid references auth.users(id), | |
) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment