mirror of
				https://github.com/lingble/twenty.git
				synced 2025-11-04 06:37:56 +00:00 
			
		
		
		
	## Context This PR removes pg_graphql from the setup. It also updates the local setup documentation accordingly. Note: We removed local setup scripts to align with redis installation, the setup should be much simpler since we don't rely on pg_graphql anymore. ## Test tested locally with docker + mac (brew) setup
		
			
				
	
	
		
			69 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import console from 'console';
 | 
						|
 | 
						|
import { rawDataSource } from 'src/database/typeorm/raw/raw.datasource';
 | 
						|
 | 
						|
import { camelToSnakeCase, performQuery } from './utils';
 | 
						|
 | 
						|
rawDataSource
 | 
						|
  .initialize()
 | 
						|
  .then(async () => {
 | 
						|
    await performQuery(
 | 
						|
      'CREATE SCHEMA IF NOT EXISTS "public"',
 | 
						|
      'create schema "public"',
 | 
						|
    );
 | 
						|
    await performQuery(
 | 
						|
      'CREATE SCHEMA IF NOT EXISTS "metadata"',
 | 
						|
      'create schema "metadata"',
 | 
						|
    );
 | 
						|
    await performQuery(
 | 
						|
      'CREATE SCHEMA IF NOT EXISTS "core"',
 | 
						|
      'create schema "core"',
 | 
						|
    );
 | 
						|
 | 
						|
    await performQuery(
 | 
						|
      'CREATE EXTENSION IF NOT EXISTS "uuid-ossp"',
 | 
						|
      'create extension "uuid-ossp"',
 | 
						|
    );
 | 
						|
 | 
						|
    await performQuery(
 | 
						|
      'CREATE EXTENSION IF NOT EXISTS "postgres_fdw"',
 | 
						|
      'create extension "postgres_fdw"',
 | 
						|
    );
 | 
						|
 | 
						|
    await performQuery(
 | 
						|
      'CREATE EXTENSION IF NOT EXISTS "wrappers"',
 | 
						|
      'create extension "wrappers"',
 | 
						|
    );
 | 
						|
 | 
						|
    await performQuery(
 | 
						|
      'CREATE EXTENSION IF NOT EXISTS "mysql_fdw"',
 | 
						|
      'create extension "mysql_fdw"',
 | 
						|
    );
 | 
						|
 | 
						|
    const supabaseWrappers = [
 | 
						|
      'airtable',
 | 
						|
      'bigQuery',
 | 
						|
      'clickHouse',
 | 
						|
      'firebase',
 | 
						|
      'logflare',
 | 
						|
      's3',
 | 
						|
      'stripe',
 | 
						|
    ]; // See https://supabase.github.io/wrappers/
 | 
						|
 | 
						|
    for (const wrapper of supabaseWrappers) {
 | 
						|
      await performQuery(
 | 
						|
        `
 | 
						|
          CREATE FOREIGN DATA WRAPPER "${wrapper.toLowerCase()}_fdw"
 | 
						|
          HANDLER "${camelToSnakeCase(wrapper)}_fdw_handler"
 | 
						|
          VALIDATOR "${camelToSnakeCase(wrapper)}_fdw_validator";
 | 
						|
          `,
 | 
						|
        `create ${wrapper} "wrappers"`,
 | 
						|
        true,
 | 
						|
        true,
 | 
						|
      );
 | 
						|
    }
 | 
						|
  })
 | 
						|
  .catch((err) => {
 | 
						|
    console.error('Error during Data Source initialization:', err);
 | 
						|
  });
 |