index.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. "use strict";
  2. const _ = require("lodash");
  3. const AbstractDialect = require("../abstract");
  4. const ConnectionManager = require("./connection-manager");
  5. const Query = require("./query");
  6. const QueryGenerator = require("./query-generator");
  7. const DataTypes = require("../../data-types").sqlite;
  8. const { SQLiteQueryInterface } = require("./query-interface");
  9. class SqliteDialect extends AbstractDialect {
  10. constructor(sequelize) {
  11. super();
  12. this.sequelize = sequelize;
  13. this.connectionManager = new ConnectionManager(this, sequelize);
  14. this.queryGenerator = new QueryGenerator({
  15. _dialect: this,
  16. sequelize
  17. });
  18. this.queryInterface = new SQLiteQueryInterface(sequelize, this.queryGenerator);
  19. }
  20. }
  21. SqliteDialect.prototype.supports = _.merge(_.cloneDeep(AbstractDialect.prototype.supports), {
  22. DEFAULT: false,
  23. "DEFAULT VALUES": true,
  24. "UNION ALL": false,
  25. "RIGHT JOIN": false,
  26. inserts: {
  27. ignoreDuplicates: " OR IGNORE",
  28. updateOnDuplicate: " ON CONFLICT DO UPDATE SET",
  29. conflictFields: true,
  30. onConflictWhere: true
  31. },
  32. index: {
  33. using: false,
  34. where: true,
  35. functionBased: true
  36. },
  37. transactionOptions: {
  38. type: true
  39. },
  40. constraints: {
  41. addConstraint: false,
  42. dropConstraint: false
  43. },
  44. groupedLimit: false,
  45. JSON: true
  46. });
  47. SqliteDialect.prototype.defaultVersion = "3.8.0";
  48. SqliteDialect.prototype.Query = Query;
  49. SqliteDialect.prototype.DataTypes = DataTypes;
  50. SqliteDialect.prototype.name = "sqlite";
  51. SqliteDialect.prototype.TICK_CHAR = "`";
  52. SqliteDialect.prototype.TICK_CHAR_LEFT = SqliteDialect.prototype.TICK_CHAR;
  53. SqliteDialect.prototype.TICK_CHAR_RIGHT = SqliteDialect.prototype.TICK_CHAR;
  54. module.exports = SqliteDialect;
  55. module.exports.SqliteDialect = SqliteDialect;
  56. module.exports.default = SqliteDialect;
  57. //# sourceMappingURL=index.js.map