OSDN Git Service

[DEBUG] zephyr serve, zephyr debug command v0.3.0p0017
authorhimetani_cafe <fumifumi@yasunaga-lab.bio.kyutech.ac.jp>
Mon, 25 Jan 2016 13:55:15 +0000 (22:55 +0900)
committerhimetani_cafe <fumifumi@yasunaga-lab.bio.kyutech.ac.jp>
Mon, 25 Jan 2016 13:55:15 +0000 (22:55 +0900)
zephyr serve:
    NODE_ENV = 'production'
    uploadDir = ZEPHYR_HOME/user-specific-files/workspace
    dbPath    = ZEPHYR_HOME/user-specific-files/db/db.workspace
    db.workspace is a persistent file

zephyr debug:
    NODE_ENV = 'debug'
    uploadDir = ZEPHYR_HOME/user-specific-files/workspace.debug
    dbPath    = ZEPHYR_HOME/user-specific-files/db/db.debug
    db.debug is renewed whenever executing zephyr debug

 Please enter the commit message for your changes. Lines starting
 with '' will be ignored, and an empty message aborts the commit.
 On branch master
 Changes to be committed:
modified:   .gitignore
modified:   cli/zephyr-debug
modified:   server/api/v1/fileUpload/index.js
modified:   server/app.js
modified:   server/class/DB.js

.gitignore
cli/zephyr-debug
server/api/v1/fileUpload/index.js
server/app.js
server/class/DB.js

index 0e25ccb..3199291 100644 (file)
@@ -13,4 +13,5 @@ cli/npm-debug.log*
 user-specific-files/OptionControlFile/
 user-specific-files/meta/
 user-specific-files/workspace/
+user-specific-files/workspace.debug
 user-specific-files/db/
index 4b5af28..aed8537 100755 (executable)
@@ -3,12 +3,12 @@
 const zephyr = require('commander');
 const chalk = require('chalk');
 const cp = require('child_process').spawn;
+const fs = require('fs');
 
 zephyr
 .usage('[action]')
 
-process.env.NODE_ENV = 'production';
-process.env.ZEPHYR_MODE = 'DEBUG';
+process.env.NODE_ENV = 'debug';
 const npm = cp('node', ['--harmony', process.env.ZEPHYR_HOME + '/server/app/']);
 
 npm.stdout.on('data', function (data) {
index 2cbe7df..5a99827 100644 (file)
@@ -10,7 +10,11 @@ router.post('/', function(req, res) {
     DB()
     .then(function(db) {
         var form = new formidable.IncomingForm();
-        form.uploadDir = __dirname + '/../../../../user-specific-files/workspace'; 
+        if(process.env['NODE_ENV'] === 'debug') {
+            form.uploadDir = __dirname + '/../../../../user-specific-files/workspace.debug'; 
+        } else {
+            form.uploadDir = __dirname + '/../../../../user-specific-files/workspace'; 
+        }
 
         form.parse(req, function(err, fields, files) {
             var parentDirectory = fields['parentDirectory'];
index 10e6aa4..c2c4222 100644 (file)
@@ -15,7 +15,6 @@ require('./routes')(app)
 var server = app.listen(config.port, config.ip, function () {
     console.log('Zephyr listening at http://%s:%s', config.ip, config.port);
     console.log(app.get('env'))
-    console.log(process.env.ZEPHYR_MODE);
 });
 
 var io = require('socket.io').listen(server)
index ce9df57..5b2feea 100644 (file)
@@ -34,7 +34,7 @@ function DB() {
                     parentId: '',
                     fileType: 0
                 };
-                if(process.env.ZEPHYR_MODE === 'DEBUG') {
+                if(process.env.NODE_ENV === 'debug') {
                     return Files.create(root);
                 }
             })
@@ -163,9 +163,9 @@ function DB() {
             })
             .then(function(fileId) {
                 var q = {
-                where: {
-                    name: fileName,
-                    parentId: fileId
+                    where: {
+                        name: fileName,
+                        parentId: fileId
                     }
                 };
                 return Files.findOne(q)
@@ -197,9 +197,9 @@ function DB() {
             })
             .then(function(fileId) {
                 var q = {
-                where: {
-                    name: fileName,
-                    parentId: fileId
+                    where: {
+                        name: fileName,
+                        parentId: fileId
                     }
                 };
                 return Files.findOne(q)
@@ -510,18 +510,42 @@ function DB() {
      * @constructor
      * @returns {promise}
      */
-    if(process.env['NODE_ENV'] === 'production') {
-        var dbPath = __dirname + '/../../user-specific-files/db/db.workspace';
-        dbOption.storage = dbPath;
 
+    /** 
+     * productionモード時は、db.workspaceを永続化させる
+     * DEBUGモードの時は、db.debugを実行毎に作成する。
+     * DEBUGモードの時は、sync()の中で、/レコードがFilesテーブルに追加される。
+     * モードの切り替えは環境変数NODE_ENVで行っている。
+     * zephyr serveコマンドが実行されるとNODE_ENV = 'production'
+     * zephyr debugコマンドが実行されるとNODE_ENV = 'debug'
+     * となる。
+     * それぞれの設定は$ZEOHYR_HOME/cli/zephyr-serve, $ZEPHYR_HOME/zephyre_debugを参照
+     */
+
+    var dbPath;
+    if(process.env['NODE_ENV'] === 'production') {
+        dbPath = __dirname + '/../../user-specific-files/db/db.workspace';
         // if doesn't exist workspace.db, create.
         try {
             fs.accessSync(dbPath, fs.R_OK | fs.W_OK);
         } catch(e) {
             fs.writeFileSync(dbPath, '');
         }
+
+    } else if(process.env['NODE_ENV'] === 'debug') {
+        dbPath = __dirname + '/../../user-specific-files/db/db.debug';
+        try {
+            fs.accessSync(dbPath, fs.R_OK | fs.W_OK);
+            fs.unlinkSync(dbPath);
+        } catch(e) {
+        }
+
+        fs.writeFileSync(dbPath, '');
     }
 
+
+    dbOption.storage = dbPath;
+
     sequelize = new Sequelize('','','', dbOption);
 
     var Files = sequelize.define('file', {