Ferramenta desenvolvida para migrar dados de um banco de dados Sqlite para Postgres.

Overview

Sqlite to Postgres Migration

Logo

Ferramenta desenvolvida para migrar dados de um banco de dados Sqlite para Postgres. Atualmente você pode:

  • Pegar os dados de uma tabela no Sqlite.
  • Gerar um arquivo de insert SQL.
  • Inserir diretamente os dados migrados no Postgres.
  • Suporta conexão via SSL com certificado.
  • Ativar Debug das querys.

Como usar

Primeiro passo, clone o repositorio e instale as dependencias:

git clone [email protected]:tuliocll/sqlite-to-postgres.git

cd sqlite-to-postgres

yarn

No arquivo index.js na linha 38 digite o nome da tabela e a model dessa tabela (mais a baixo vamos ver como criar uma model). Em seguida, configure o Sqlite (na sessão mais abaixo) e o Postgres(mais abaixo também), agora basta rodar o comando yarn run.

Model

Uma model aqui na ferramenta é a representação da sua tabela no banco de dados em formato de Object, contendo apenas o nome(key) e o tipo(value) e sendo exportado como default, por exemplo, para uma tabela como essa:

Schema de uma tabela chamada "post" no Sqlite

Teremos um objeto dessa forma:

Objeto de uma tabela chamada "post" no Javascript

A Model serve para que possamos mapear o tipo de cada campo, para que possamos converte-los de forma adequada, por tanto os tipos suportados para cada campo pode ser encontrado no arquivo Types.js.

As Models por padrão devem ser criadas em database/Models/.

Configurando Sqlite

Para configurar o Sqlite basta colocar o banco de dados na pasta database e renomea-lo para data.db.

Caso queira editar o caminho e o nome, basta o arquivo de configuração config.js.

Configurando Postgres

Toda Configuração do Postgres fica no arquivo .env, basta criar esse arquivo usando o env.example como base e trocar apenas as configurações.

Para utilizar certificado na sua conexão Postgres basta copiar o certificado para a pasta certs e renomea-lo para certificate.crt.

Opções

No arquivo .env ainda é possivel configurar duas opções:

Config Descrição
SQL_TO_FILE Cria uma arquivo .sql com o nome da tabela e todos os inserts.
DONT_INSERT Impede que os inserts gerados sejam inseridos direto no banco Postgres.

Support

You can buy me a coffee on Ko-fi.

Made with 💙 in Bahia, Brasil.

You might also like...

A complete template for 2022 focused on around React, Postgres and various web3 integrations.

A complete template for 2022 focused on around React, Postgres and various web3 integrations.

A complete template for 2022 focused on around React, Postgres and various web3 integrations. You can use the template to make a website, a web application, a hybrid decentralized web application, or even a DAO.

Dec 22, 2022

PouchDB for Deno, leveraging polyfill for IndexedDB based on SQLite.

PouchDB for Deno PouchDB for Deno, leveraging polyfill for IndexedDB based on SQLite. Usage import PouchDB from 'https://deno.land/x/[email protected]

Aug 2, 2022

Using Htmx, ASP.NET Core, and Marten (postgres document db) to sort list

Using Htmx, ASP.NET Core, and Marten (postgres document db) to sort list

Feb 16, 2022

A Deno ORM for MySQL, SQLite, PostgreSQL, MongoDB, GitHub and serverless service like Deta, InspireCloud, CloudBase, LeanCloud

A Deno ORM for MySQL, SQLite, PostgreSQL, MongoDB, GitHub and serverless service like Deta, InspireCloud, CloudBase, LeanCloud.

Dec 15, 2022

The Remix Blog Stack for deploying to Fly with MDX, SQLite, testing, linting, formatting, etc.

The Remix Blog Stack for deploying to Fly with MDX, SQLite, testing, linting, formatting, etc.

Remix Speed Metal Stack Learn more about Remix Stacks. npx create-remix --template Girish21/speed-metal-stack Remix Blog 📖 This blog starter template

Jan 2, 2023

The Remix Stack for deploying to Fly with SQLite, authentication, testing, linting, formatting, etc.

The Remix Stack for deploying to Fly with SQLite, authentication, testing, linting, formatting, etc.

Remix Indie Stack Learn more about Remix Stacks. npx create-remix --template remix-run/indie-stack What's in the stack Fly app deployment with Docker

Dec 30, 2022

Simple "everyday CRUD" Postgres queries with perfect TypeScript types

Crudely Typed Simple "everyday CRUD" Postgres queries with perfect TypeScript types. Zero dependencies. Designed to work with pg-to-ts and node-postgr

Dec 26, 2022

Postgres.js - The Fastest full featured PostgreSQL client for Node.js and Deno

Postgres.js - The Fastest full featured PostgreSQL client for Node.js and Deno

🚀 Fastest full-featured node & deno client 🏷 ES6 Tagged Template Strings at the core 🏄‍♀️ Simple surface API 🖊️ Dynamic query support 💬 Chat and

Jan 1, 2023

⚡ It is a simplified database module with multiple functions that you can use simultaneously with sqlite, yaml, firebase and json.

Prisma Database Developed with 💙 by Roxza ⚡ An easy, open source database 📦 Installation npm i prisma.db --save yarn add prisma.db 🔮 Importing impo

Jan 3, 2023
Owner
Tulio Calil
TS/JS developer from Bahia, Brasil.
Tulio Calil
API em NodeJS, utilizando banco de dados MongoDB (TypeORM), com cobertura de testes (coverages), utilizando o Jest

Api Backend Tindin Sobre API em NodeJS, utilizando banco de dados MongoDB (TypeORM), com cobertura de testes (coverages), utilizando o Jest. ?? app ur

Enéas Almeida 1 Jan 20, 2022
sistema de bate ponto para os aprendizes da brisa, usando Angular no frontend, golang no backend e postgresql como banco.

Migule Points Este projeto tem o intuito de automatizar a frequência dos aprendizes da brisanet, usando Angular no front, Golang no backend e postgres

Pedro Miguel 3 Sep 26, 2022
A AfirmaJobs é uma plataforma de divulgação de vagas voltadas para a diversidade e inclusão. A aplicação foi desenvolvida como projeto final do curso bootcamp da Reprograma

AFIRMAJOBS Este projeto é resultado do Bootcamp Back-End - Todas em Tech - { reprograma } Justificativa Grupos historicamente minorizados – população

Geankre Souza 7 Dec 13, 2022
Back-end desenvolvido com NodeJS, TypeScript, Prisma e Express para prover dados para as aplicações em desenvolvimento.plicações do evento NLW eSports.

NLW eSports Back-End Aplicação back-end para surprir as necessidades de dados das demais plataformas desenvolvidas que são citadas mais abaixo. Este s

Felippe Rian 2 Sep 17, 2022
API Desenvolvida na linguagem Node de fim de módulo 4 Resilia

?? Escola - Projeto de módulo 4 - Resilia Projeto de educacional do curso de Web Dev Full Stack da Resilia Educação referente ao Fim do Módulo 04. Pro

Jhack Costa 4 Mar 23, 2022
🎯 Plataforma para acesso aos dados de perfis de usuários do Github.

?? Github Profile ?? Desafio Front End | Compass.UOL Tecnologias | Projeto | Como rodar | Licença demo.mp4 ?? Tecnologias ?? Projeto Esse projeto é um

Danilo Gonçalves 3 Mar 30, 2022
Projeto individual, um site para cobertura de partidas de vôlei, times onde você pode saber onde, quando acontecerá as partidas, e dados sobre os times.

?? Volleyball Esports Coverage Um portal de vôlei para as pessoas se conectarem ou divulgarem suas partidas, conhecimentos e uma maneira de conhecerem

PedroJsn 4 Jun 6, 2022
Projeto de código aberto para ajudar as pessoas a ingressarem em carreiras de dados

Bem vinde O que é o Data Career Guide? É um projeto gratuito de guia (não é um curso e nem um livro) para carreiras na área de dados, inspirado no Lea

Data Career Guide 6 Dec 30, 2022
My-portfolio - Built with Namecheap, Digital Ocean, Nginx, PM2, SSL, NextJs, Tailwind 3, Graphql, NexusJS, Prisma, Postgres, Passion and Love

Current Implementation technologies Nextjs with Typescript. Static pages/ Server side rendering. Easy peasy state management (Might not need it with i

Samrood Ali 1 Jan 10, 2022
A Turborepo with Strapi v4 (w/ postgres database) + Next.js powered by docker and docker-compose

Turborepo + Strapi + Next.js + Docker A Turborepo with Strapi v4 (w/ postgres database) + Next.js powered by docker and docker-compose. ⚠️ Prerequisit

Elvin Chu 60 Dec 29, 2022