# [le-store-sequelize][1] > A database-driven Greenlock storage plugin with wildcard support. ## Usage To use, provide this Greenlock storage plugin as the `store` attribute when you invoke `create`. ```js var store = require('le-store-sequelize'); var gl = greenlock.create({ store, approveDomains, ... }); ``` ## Wildcards & AltNames Working with wildcards and multiple altnames requires Greenlock `>= v2.7`. To do so you must set `opts.subject` and `opts.domains` within the `approvedomains()` callback. `subject` refers to "the subject of the ssl certificate" as opposed to `domain` which indicates "the domain servername used in the current request". For single-domain certificates they're always the same, but for multiple-domain certificates `subject` must be the name no matter what `domain` is receiving a request. `subject` is used as part of the name of the file storage path where the certificate will be saved (or retrieved). `domains` should be the list of "altnames" on the certificate, which should include the `subject`. ## Example ```javascript function approveDomains() { } ``` ## Configuration ### Defaults No configuration is required. By default, you'll get a baked-in Sequelize database running sqlite3. ```javascript greenlock.create({ store: require('le-store-sequelize'), ... }); ``` ### Database Connection Without `config.dbOptions`, the baked-in sequelize object uses sqlite3 with default options. If `config.dbOptions` is provided, you can configure the database connection per the Sequelize documentation. ```javascript var store = require('le-store-sequelize')({ dbConfig: { username: 'mysqluser', password: 'mysqlpassword', database: 'mysqldatabase, host: '127.0.0.1', dialect: 'mysql' } }); greenlock.create({ store, ... }); ``` The database can also be configured using an env variable. ```javascript var store = require('le-store-sequelize')({ dbConfig: { use_env_variable: 'DB_URL' } }); ``` ### Custom Database Object You can pass in your own database object if you wish. It doesn't actually even have to be a Sequelize database object, as long as the object responds to the implemented methods and returns the expected results. ```javascript var db = new MyDatabase(); var store = require('le-store-sequelize')({ db }); greenlock.create({ store, ... }); ``` [1]: https://www.npmjs.com/package/le-store-sequelize