diggy  
                (Dgraph Bot)
               
                 
              
                  
                    April 4, 2018,  2:35pm
                   
                   
              1 
               
             
            
              Moved from GitHub dgraph-js/31  
Posted by  labs20 :
Hi! I’m new on board and trying DGraph for the first time. Really excited about it, must say! =]
I have the code below, but when I call resetDgraph, my data is still there. What I’m doing wrong here?
    __getDGraph(){
        const dgraph = require('dgraph-js')
            , grpc = require('grpc')
            , clientStub = new dgraph.DgraphClientStub()
            , client = new dgraph.DgraphClient(clientStub)
        ;
        return {
            client: client,
            dgraph: dgraph
        };
    }
    async resetDgraph(){
        try{
            let db = this.__getDGraph()
                , op = new db.dgraph.Operation()
            ;
            op.setDropAll(true);
            let r = await db.client.alter(op);
            // Retorna
            return {
                ok: r
            }
        } catch(e){
            log.erro(e, '');
        }
    }
 
Thanks, and  kudos for the work.
             
            
               
               
               
            
            
           
          
            
              
                diggy  
                (Dgraph Bot)
               
              
                  
                    April 4, 2018,  3:25pm
                   
                   
              2 
               
             
            
              gpahal  commented  :
This should work. What version of Dgraph are you using?
             
            
               
               
               
            
            
           
          
            
              
                diggy  
                (Dgraph Bot)
               
              
                  
                    April 4, 2018,  4:09pm
                   
                   
              3 
               
             
            
              labs20  commented  :
v1.0.4. Just downloaded the docker image as per docs and running via docker-compose (and being struggling the last hour trying to map dgraph data folder to a local mount).
             
            
               
               
               
            
            
           
          
            
              
                diggy  
                (Dgraph Bot)
               
              
                  
                    April 5, 2018,  6:23am
                   
                   
              4 
               
             
            
              gpahal  commented  :
I tried it out and it’s working on my machine. Here is the code:
const dgraph = require("dgraph-js");
const grpc = require("grpc");
function __getDGraph() {
    const clientStub = new dgraph.DgraphClientStub()
        , client = new dgraph.DgraphClient(clientStub)
    ;
    return {
        client: client,
        dgraph: dgraph
    };
}
async function resetDgraph(){
    try{
        let db = __getDGraph()
            , op = new db.dgraph.Operation()
        ;
        op.setDropAll(true);
        let r = await db.client.alter(op);
        // Retorna
        return {
            ok: r
        }
    } catch(e){
        console.log(e);
    }
}
async function setSchema(dgraphClient) {
    const schema = `
        name: string @index(exact) .
    `;
    const op = new dgraph.Operation();
    op.setSchema(schema);
    await dgraphClient.alter(op);
}
// Create data using JSON.
async function createData(dgraphClient) {
    // Create a new transaction.
    const txn = dgraphClient.newTxn();
    try {
        // Create data.
        const p = { name: "Alice" };
        // Run mutation.
        const mu = new dgraph.Mutation();
        mu.setSetJson(p);
        const assigned = await txn.mutate(mu);
        // Commit transaction.
        await txn.commit();
    } finally {
        // Clean up. Calling this after txn.commit() is a no-op
        // and hence safe.
        await txn.discard();
    }
}
// Query for data.
async function queryData(dgraphClient) {
    // Run query.
    const query = `query all($a: string) {
        all(func: eq(name, $a)) {
            uid
            name
        }
    }`;
    const vars = { $a: "Alice" };
    const res = await dgraphClient.newTxn().queryWithVars(query, vars);
    const ppl = res.getJson();
    // Print results.
    console.log(`Number of people named "Alice": ${ppl.all.length}`);
    ppl.all.forEach((person) => console.log(person));
}
async function main() {
    await resetDgraph();
    const res = __getDGraph();
    await setSchema(res.client);
    await createData(res.client);
    console.log("BEFORE RESET:");
    await queryData(res.client);
    await resetDgraph();
    console.log("\nAFTER RESET:");
    await setSchema(res.client);
    await queryData(res.client);
}
main().then(() => {
    console.log("\nDONE!");
}).catch((e) => {
    console.log("ERROR: ", e);
});
 
             
            
               
               
               
            
            
           
          
            
              
                diggy  
                (Dgraph Bot)
               
              
                  
                    April 5, 2018,  6:24am
                   
                   
              5 
               
             
            
              gpahal  commented  :
Can you share a little bit more about how you are using the resetDgraph function?
             
            
               
               
               
            
            
           
          
            
              
                diggy  
                (Dgraph Bot)
               
              
                  
                    April 5, 2018,  2:47pm
                   
                   
              6 
               
             
            
              labs20  commented  :
Hi, thanks for your reply.
I just tried again today and it worked. Maybe it was just a noob thing, but maybe (and just maybe) could it be something related to some sort of timeout? I had about 40k vertices and each time I tried it took a little while to complete.
If it happen again I’ll try to be more specific about. Sorry for a probably false alarm.
Thank you very much.
             
            
               
               
               
            
            
           
          
            
              
                diggy  
                (Dgraph Bot)
               
              
                  
                    April 5, 2018,  2:57pm
                   
                   
              7 
               
             
            
              gpahal  commented  :
Based on your description, it’s possible that it was an issue with Dgraph itself and not the client.
I am closing this issue right now as right now this doesn’t seem to be a client side problem.