Skip to content

msvargas/rn-sequelize

Repository files navigation

Sequelize

npm version Travis Build Status Appveyor Build Status npm downloads codecov Last commit Merged PRs GitHub stars Slack Status node License semantic-release

This port to use with react native and expo.

NOTE: compatible with web but replace dialectModule: SQLite with dialectModule: window, and websql API in browser is limited (check TODO), catch all queries

TODO

  • In web use sql.js

Contributing

  • Open Source!

Example

import React, { useEffect } from "react";
import { StyleSheet, Text, View, Platform } from "react-native";
import * as SQLite from "expo-sqlite";
import Sequelize from "rn-sequelize";
const Op = Sequelize.Op;
const Model = Sequelize.Model;

const sequelize = new Sequelize({
  dialectModule: SQLite,
  database: "mydb",
  dialectOptions: {
    version: "1.0",
    description: "Test DB"
    //size: 2 * 1024 * 1024
  }
});

class User extends Model {}
User.init(
  {
    name: Sequelize.STRING,
    email: Sequelize.STRING
  },
  {
    sequelize,
    modelName: "user"
  }
);
export default function App() {
  useEffect(() => {
    async function init() {
      try {
        await sequelize.sync({
          //force: true
        });

        await User.create({
          name: "Mike",
          email: "[email protected]"
        }).then(console.log);
      } catch (error) {
        console.log(error);
      }
    }
    init();
  }, []);

  return (
    <View style={styles.container}>
      <Text>Open up App.js to start working on your app!</Text>
    </View>
  );
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    backgroundColor: "#fff",
    alignItems: "center",
    justifyContent: "center"
  }
});

Thanks to Sequelize

Sequelize

Sequelize is a promise-based Node.js ORM for Postgres, MySQL, MariaDB, SQLite and Microsoft SQL Server. It features solid transaction support, relations, eager and lazy loading, read replication and more.

Sequelize follows SEMVER. Supports Node v6 and above to use ES6 features.

New to Sequelize? Take a look at the Tutorials and Guides. You might also be interested in the API Reference.

Table of Contents

Installation

$ npm install --save sequelize # This will install v5

# And one of the following:
$ npm install --save pg pg-hstore # Postgres
$ npm install --save mysql2
$ npm install --save mariadb
$ npm install --save sqlite3
$ npm install --save tedious # Microsoft SQL Server

Documentation

Responsible disclosure

If you have security issues to report please refer to our Responsible Disclosure Policy for more details.

Resources

Tools

Learning

Translations

About

SQLite dialect ORM for Expo and React Native

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published